perm filename CURSOR.FAI[T,LCS] blob sn#027235 filedate 1973-02-26 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	ENTRY SETCUR,CLRCUR,RDCUR,SLEEP
C00005 00003
C00007 ENDMK
C⊗;
ENTRY SETCUR,CLRCUR,RDCUR,SLEEP
	TITLE CURSOR

	RA←16

SETCUR:	0
	SETO 1,
	TTYUUO 6,1
	JUMPGE 1,SETCU2
	MOVE 1,@(16)
	DPB 1,[POINT 11,SAVWRD,10]
	DPB 1,[POINT 11,FINWRD,10]
	MOVE 1,@1(16)
	DPB 1,[POINT 11,SAVWRD,21]
	DPB 1,[POINT 11,FINWRD,21]
	SKIPN 1,@2(16)
	SKIPA 1,[2]
	SETZ 1,
	DPB 1,[POINT 2,FINWRD,31]
	DPYOUT 16,[CURPRG
		   CURPRG-CUREND]
SETCU2:	JRA 16,3(16)
CLRCUR:	0
	DPYOUT 16,[CURPRG
		   0]
	JRA 16,(16)
RDCUR:	0
	PGIOT 16
	UPGMVE 0,SAVWRD
	LDB 1,[POINT 11,0,10]
	TRNE 1,2000
	ADD 1,[777777774000]
	MOVEM 1,@(RA)
	LDB 1,[POINT 11,0,21]
	TRNE 1,2000
	ADD 1,[777777774000]
	MOVEM 1,@1(RA)
	JRA 16,2(16)
SLEEP:	0
	MOVE @(RA)
	CALLI 31
	JRA 16,1(16)

DEFINE RPNT(X,Y),<
	BYTE(11)<X>,<Y>(3)0,0(2)0,1(4)6
REPEAT 0,<	BYTE(11)0,0(3)0,0(2)0,1(4)6>
	BYTE(8)0,0,200(12)32
	BYTE(8)100,0,100(12)12
	XWD .+3,20
	XWD SAVWRD,64
	BYTE(8)200,0,0(12)12
>
DEFINE DPYJMP(X),<XWD X,20
>

CURPRG:	0
	XWD OLDPOS,64
	XWD SAVWRD,74
	BYTE(8)167,200,0(12)12
	RPNT 0,0
	RPNT 0,0
;INNER RING
	RPNT -4,0
	RPNT 4,-4
	RPNT 4,4
	RPNT -4,4
;START FIRST RING
	RPNT -10,-4
	RPNT 10,-10
	RPNT 10,10
	RPNT -10,10
;START SECOND RING
	RPNT -14,0
	RPNT 0,-20
	RPNT 14,-10
	RPNT 14,10
	RPNT 0,20
	RPNT -14,10
;START THIRD RING
	BYTE(8)0,0,200(12)12	;DON'T DRAW IF WE SAW LIGHT PEN.
	DPYJMP FINCUR
	RPNT -14,4
	RPNT -10,-10
	RPNT -4,-14
	RPNT 4,-14
	RPNT 10,-10
	RPNT 14,-4
	RPNT 14,4
	RPNT 10,10
	RPNT 4,14
	RPNT -4,14
	RPNT -10,10
	RPNT -14,4
;START FOURTH RING
	RPNT -16,6
	RPNT -12,-6
	RPNT -6,-12
	RPNT -2,-16
	RPNT 2,-16
	RPNT 6,-12
	RPNT 12,-6
	RPNT 16,-2
	RPNT 16,2
	RPNT 12,6
	RPNT 6,12
	RPNT 2,16
	RPNT -2,16
	RPNT -6,12
	RPNT -12,6
	RPNT -16,2
FINCUR:	XWD SAVWRD,74
FINWRD:	146		;INVISIBLE, ABSOLUTE, X&Y FILLED IN BY SETCUR
	XWD OLDPOS,74
	0
↓SAVWRD: 34146
OLDPOS:	0
CUREND←←.
	END